<?php

/**
 * reply actions.
 *
 * @package    sf.shonanbbs.com
 * @subpackage reply
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 2692 2006-11-15 21:03:55Z fabien $
 */
class replyActions extends sfActions
{
  /**
   * Executes index action
   *
   */
  public function executeIndex()
  {
    $comment_id = $this->getRequestParameter("id");//id(プライマリーキー)を取得
    echo $comment_id;

    //エラーチェックによって戻ってきた値を保持
    $this->content = $this->getRequestParameter("content");
    $this->nickname = $this->getRequestParameter("nickname");

    $this->comment = CommentPeer::retrieveByPk($comment_id);//idをもとにcommnetをインスタンス化


    $this->categorys = sfConfig::get("sf_categorys");

    return sfView::SUCCESS;
  }

  public function executeConfirm()//返信確認画面
  {

    $this->content = $this->getRequestParameter("content");//id(プライマリーキー)を取得
    $this->nickname = $this->getRequestParameter("nickname");
    $this->comment_id = $this->getRequestParameter("comment_id");

    $hostname = sfConfig::get("sf_hostname");
    $ref = $this->getRequest()->getReferer();
    if($ref != $hostname. "reply/confirm"
      && $ref != $hostname. "reply/index/id/".$this->comment_id)
    {
       $this->redirect("/");
    }

    //confirmからresultひ飛ばす際に、多重投稿を禁止する
    //セッションを利用する
    $this->setFlash("reply_result_check",rand());//セッションをクリア

    return sfView::SUCCESS;
  }

  public function executeResult()//返信確認内容の送信画面
  {
        if($this->getflash("reply_result_check") ==
           $this->getRequestParameter("reply_result_check") &&
           $this->getRequestParameter("reply_result_check") != "")
        {

        $content = $this->getRequestParameter("content");//id(プライマリーキー)を取得
        $nickname = $this->getRequestParameter("nickname");
        $comment_id = $this->getRequestParameter("comment_id");

        //返信された新たなデータをReplyテーブルにレコードを挿入する
        $reply = new Reply;
        $reply->setContent($content);
        $reply->setNickname($nickname);
        $reply->setCommentId($comment_id);
        $reply->save();

        //指定したアクションにリダイレクトする
        //$this->forward("default","index");

    }

    $this->setflash("reply_result_check","");

    //URLごと遷移
    $this->redirect("/");
  }

  public function handleErrorConfirm()//validate下のエラーチェックの内容を受けて動く処理
  {
      $this->request->setParameter("id",$this->getRequestParameter("comment_id"));
      $this->request->setParameter("content",$this->getRequestParameter("content"));
      $this->request->setParameter("nickname",$this->getRequestParameter("nickname"));

      $this->forward("reply","index");




  }



}






























